Organizations increasingly depend on digitally-stored data in the course of business. For this reason, many organizations may employ a storage array to store their data. Storage arrays may provide improved availability and maintainability through redundant components.
In a common configuration, a host system may connect to a storage array via one of multiple available input/output paths. An input/output path may represent, e.g., a network traversal combined with the use of a particular storage processor within the storage array. If one path fails between the host system and the storage array, the host system may use another available input/output path.
Unfortunately, traditional failover processes may consume a significant amount of time and computing resources. For example, some traditional technologies may check the remaining input/output paths one at a time. However, depending on the timing of these checks, a driver may incorrectly determine that no alternate paths are available, potentially leading to time consuming error processing and even service outages. These problems may be exacerbated in the context of a large server cluster connected to the storage array. Furthermore, input/output service time may increase during a failover. When a separate failover is performed for each logical unit within a storage array, this effect may be multiplied. Accordingly, the instant disclosure addresses a need for improved and additional systems and methods for performing input/output path failovers.